package com.linsen.core.common.constant;

/**
 * @author zhaoyong
 * @date 2023/3/9
 */
public interface LinsenConstant {
    /**
     * 应用包路径
     */
    String LINSEN_APP_PACKAGE = "com.linsen";

    /**
     * 应用版本号
     */
    String LINSEN_APP_VERSION = "1.0";

    /**
     * Spring 应用名 prop key
     */
    String SPRING_APP_NAME_KEY = "spring.application.name";

    /**
     * 默认为空消息
     */
    String DEFAULT_NULL_MESSAGE = "数据为空";

    /**
     * 默认成功消息
     */
    String DEFAULT_SUCCESS_MESSAGE = "成功";

    /**
     * 默认失败消息
     */
    String DEFAULT_FAIL_MESSAGE = "内部服务器错误";
    /**
     * 树的根节点值
     */
    Long TREE_ROOT = -1L;

    /**
     * 允许的文件类型，可根据需求添加
     */
    String[] VALID_FILE_TYPE = {"xlsx", "zip"};

    String DATETIME_FORMAT = "yyyy-MM-dd HH:mm:ss";

    /**
     * 微服务之间传递的唯一标识
     */
    String LINSEN_TRACE_ID = "linsen-trace-id";

    /**
     * 日志链路追踪id日志标志
     */
    String LOG_TRACE_ID = "traceId";

    /**
     * Java默认临时目录
     */
    String JAVA_TEMP_DIR = "java.io.tmpdir";

    /**
     * 版本
     */
    String VERSION = "version";

    /**
     * 默认版本号
     */
    String DEFAULT_VERSION = "v1";

    /**
     * 服务资源
     */
    String LINSEN_SERVICE_RESOURCE = "linsen-service-resource";

    /**
     * API资源
     */
    String LINSEN_API_RESOURCE = "linsen-api-resource";

    /**
     * 权限认证的排序
     */
    int LINSEN_UAA_FILTER_ORDER = -200;

    /**
     * 签名排序
     */
    int LINSEN_SIGN_FILTER_ORDER = -300;

    /**
     * json类型报文，UTF-8字符集
     */
    String JSON_UTF8 = "application/json;charset=utf8";

    String CONFIG_DATA_ID_DYNAMIC_ROUTES = "linsen-dynamic-routes.yaml";

    String CONFIG_GROUP = "LINSEN_CLOUD_GROUP";

    long CONFIG_TIMEOUT_MS = 5000L;
}
